// 练习：映射类型-实现Readonly泛型工具

type FormDataType = {
  name: string;
  age: number;
};
// 1. 定义一个泛型类型
// 2. 获取到所有的键
// 3. 给所有的键加上readonly
// 4. 保持原本键的类型
type MyReadOnly<T> = {
  readonly [K in keyof T]: T[K]; // T[K]表示原本键的类型
};

const formData: MyReadOnly<FormDataType> = {
  name: '123',
  age: 123,
};

formData.name = '456';
formData.age = 789;
